import './index.scss'
import { Card, Form, Input, Button, message } from 'antd'
import logo from '@/assets/logo.png'
import { useDispatch } from "react-redux";
import { fetchLogin } from "@/store/modules/user.jsx";
import { useNavigate } from "react-router-dom";

export default function Login() {

  // 调用 redux
  const dispatch = useDispatch();
  // 路由跳转
  let navigate = useNavigate();

  // 提交表单调用方法
  async function handleOnFinish(formData) {
    // 登入
    await dispatch(fetchLogin(formData))
    navigate('/')
    message.success("登入成功")
  }

  return (
    <div className="login">
      <Card className="login-container">
        <img className="login-logo" src={ logo } alt=""/>
        {/* 登录表单 */ }
        <Form onFinish={handleOnFinish}>
          <Form.Item
            name="mobile"
            rules={[
              {
                required: true,
                message: '手机号暂未输入！',
              },
              {
                pattern: /^1[3-9]\d{9}$/,
                message: '请输入正确的手机号'
              }
            ]}
          >
            <Input size="large" placeholder="请输入手机号"/>
          </Form.Item>
          <Form.Item
            name="code"
            rules={[
              {
                required: true,
                message: '验证码暂未输入！',
              },
            ]}
          >
            <Input size="large" placeholder="请输入验证码"/>
          </Form.Item>
          <Form.Item>
            <Button type="primary" htmlType="submit" size="large" block>
              登录
            </Button>
          </Form.Item>
        </Form>
      </Card>
    </div>
  )
}